ComponentOne Data Source for Entity Framework
C1.LiveLinq.Indexing Namespace / SubindexCollection<T> Class / Add Method / Add<TKey>(Expression<Func<T,TKey>>,Boolean) Method
The type of the subindex key.
Key selector expression of the subindex, see KeySelector.
Specifies whether the key used in this subindex is unique for any given value of the parent key (default: false).

In This Topic
    Add<TKey>(Expression<Func<T,TKey>>,Boolean) Method
    In This Topic
    Creates a new subindex and attaches it to its parent's IndexDefinition<T>.Subindexes collection.
    Syntax
    'Declaration
     
    
    Public Overloads Function Add(Of TKey)( _
       ByVal keySelector As System.Linq.Expressions.Expression(Of Func(Of T,TKey)), _
       ByVal keyIsUnique As System.Boolean _
    ) As Subindex(Of T,TKey)
    public Subindex<T,TKey> Add<TKey>( 
       System.Linq.Expressions.Expression<Func<T,TKey>> keySelector,
       System.bool keyIsUnique
    )

    Parameters

    keySelector
    Key selector expression of the subindex, see KeySelector.
    keyIsUnique
    Specifies whether the key used in this subindex is unique for any given value of the parent key (default: false).

    Type Parameters

    TKey
    The type of the subindex key.

    Return Value

    The new subindex added to its parent's IndexDefinition<T>.Subindexes collection.
    Remarks

    A unique index occupies less memory and performs better than a non-unique index (although the difference isn't dramatic). Therefore, for unique keys, it's recommended to specify the corresponding index as unique.

    But do that only if you are sure that the key is indeed unique, as it imposes a uniqueness constraint on the indexed collection. An attempt to modify the indexed collection violating the uniqueness throws an System.InvalidOperationException.

    For a subindex, uniqueness means that any given pair of parent key and subindex key values uniquely determines an item in the indexed collection.

    See Also